// 模块导入
import database from '../../utils/database'
// 数据库中运营位表的表名
const tableName = 'Operational_Positions'

// 定义运营位模型接口
// 其中id和created_at在创建运营位时是无需指定的，接口中将其设置为可选属性
export interface Operational_Positions {
    id?: number;        // 标识
    name: string;       // 名称
    status: number;     // 状态
    create_at?: string; // 创建时间
    cover: string;      // 封面
    content: string;    // 内容
    uri: string;        // 跳转path
}

// 用户服务类
export class OperationalService {
    // 获取运营位数据
    getOperational(status: number) {
        return new Promise((resolve, reject)=>{
            database.queryData(tableName, ['*'], `status >= ${status}`, (data)=>{
                if (!data) {
                    reject("获取运营位数据失败")
                } else {
                    let result = data.result
                    resolve(result)
                }
            })
        });
    }
    // 新增运营位
    addOperational(op: Operational_Positions) {
        return new Promise((resolve, reject)=>{
            let keys = ['name', 'status', 'cover', 'content', 'uri']
            let values = [op.name, op.status, op.cover, op.content, op.uri]
            database.insertData(tableName, keys, values, (data)=>{
                if (!data) {
                    reject("创建运营位数据失败")
                } else {
                    console.log(data)
                    resolve(null)
                }
            })
        })
    }
    // 更新运营位状态
    updateOperational(status: number, id: number) {
        return new Promise((resolve, _reject)=>{
            database.updateData(tableName, `status = ${status}`, `id = ${id}`)
            resolve(null)
        }) 
    }
}

// 导出服务类
export default new OperationalService();